home *** CD-ROM | disk | FTP | other *** search
- /* ModelessCheckboxes.c -- modeless dialog */
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include <Appearance.h>
- #include <stdlib.h>
-
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "ControlUtils.h"
-
- #include "Dispatcher.h"
- #include "ModelessCheckboxes.h"
-
- #define kStandardCheck 1
- #define kXxCheck 2
- #define kCapTriangleLabel 3
- #define kGraphicBox 4
- #define kCapcicnLabel 5
- #define kLRCheck 6
- #define kCapicl8Label 7
- #define kLR2Check 8
- #define kCapICNLabel 9
- #define kLR3Check 10
- #define kCapPICTLabel 11
- #define kLR4Check 12
- #define kCapicl9Label 13
- #define kCheckboxCheck 14
- #define kBevelBox 15
- #define kCheckbox2Check 16
- #define kNextCheck 17
- #define kNext2Check 18
-
-
- //----------
- DialogPtr ModelessCheckboxesDialog = nil;
-
- //----------
- void ModelessCheckboxes_Create ()
- {
- ModelessCheckboxes* dialog = NewModelessCheckboxes ();
- DModelessCheckboxesData* data = NewDModelessCheckboxesData ();
-
- AMDialog_MakeDialog ((AMDialog*)dialog, DLOG_ModelessCheckboxes);
- ModelessCheckboxes_ConnectToData (dialog, (AMSignaler*)data);
- }
-
- //----------
- void ModelessCheckboxes_Show ()
- {
- if (ModelessCheckboxesDialog == nil) {
- ModelessCheckboxes_Create ();
- }
- if (ModelessCheckboxesDialog != nil) {
- SelectWindow (ModelessCheckboxesDialog);
- ShowWindow (ModelessCheckboxesDialog);
- }
- }
-
- //----------
- void ModelessCheckboxes_Close ()
- {
- HideWindow (ModelessCheckboxesDialog);
- }
-
- //----------
- ModelessCheckboxes* NewModelessCheckboxes ()
- {
- ModelessCheckboxes* dialog;
-
- dialog = (ModelessCheckboxes*)malloc (sizeof (ModelessCheckboxes));
- ModelessCheckboxes_Init (dialog);
- SetClassID (dialog, classModelessCheckboxes);
-
- return dialog;
- }
-
- //----------
- void DeleteModelessCheckboxes (
- ModelessCheckboxes* dialog)
- {
- ModelessCheckboxes_Free (dialog);
- free (dialog);
- }
-
- //----------
- void ModelessCheckboxes_Init (
- ModelessCheckboxes* self)
- {
- AMDialog_Init ((AMDialog*)self);
- }
-
- //----------
- void ModelessCheckboxes_Free (
- ModelessCheckboxes* self)
- {
- AMDialog_Free ((AMDialog*)self);
- }
-
- //----------
- void ModelessCheckboxes_FinishMake (
- ModelessCheckboxes* self)
- {
- ModelessCheckboxesDialog = ((AMDialog*)self)->mDialog;
-
- self->mStandardHandle = AMDialog_GetControlItem ((AMDialog*)self, kStandardCheck);
- self->mXxHandle = AMDialog_GetControlItem ((AMDialog*)self, kXxCheck);
- self->mGraphicHandle = AMDialog_GetControlItem ((AMDialog*)self, kGraphicBox);
- self->mLRHandle = AMDialog_GetControlItem ((AMDialog*)self, kLRCheck);
- self->mLR2Handle = AMDialog_GetControlItem ((AMDialog*)self, kLR2Check);
- self->mLR3Handle = AMDialog_GetControlItem ((AMDialog*)self, kLR3Check);
- self->mLR4Handle = AMDialog_GetControlItem ((AMDialog*)self, kLR4Check);
- self->mCheckboxHandle = AMDialog_GetControlItem ((AMDialog*)self, kCheckboxCheck);
- self->mBevelHandle = AMDialog_GetControlItem ((AMDialog*)self, kBevelBox);
- self->mCheckbox2Handle = AMDialog_GetControlItem ((AMDialog*)self, kCheckbox2Check);
- SetBevelButtonGraphicAlignment (self->mCheckbox2Handle, kControlBevelButtonAlignCenter, 0, 0);
- self->mNextHandle = AMDialog_GetControlItem ((AMDialog*)self, kNextCheck);
- SetBevelButtonTextPlacement (self->mNextHandle, kControlBevelButtonPlaceToRightOfGraphic);
- SetBevelButtonTextAlignment (self->mNextHandle, kControlBevelButtonAlignTextFlushLeft, 0);
- SetBevelButtonGraphicAlignment (self->mNextHandle, kControlBevelButtonAlignLeft, 0, 0);
- self->mNext2Handle = AMDialog_GetControlItem ((AMDialog*)self, kNext2Check);
- SetBevelButtonTextPlacement (self->mNext2Handle, kControlBevelButtonPlaceBelowGraphic);
- SetBevelButtonTextAlignment (self->mNext2Handle, kControlBevelButtonAlignTextCenter, 0);
- SetBevelButtonGraphicAlignment (self->mNext2Handle, kControlBevelButtonAlignTop, 0, 0);
- }
-
- //----------
- void ModelessCheckboxes_ConnectToData (
- ModelessCheckboxes* self,
- AMSignaler* inData)
- {
- AMDialog_ConnectToData ((AMDialog*)self, inData);
- self->mData = (DModelessCheckboxesData*) inData;
-
- SetControlValue (self->mStandardHandle, GetStandard7 (self->mData));
- SetControlValue (self->mXxHandle, GetXx3 (self->mData));
- SetControlValue (self->mLRHandle, GetLR9 (self->mData));
- SetControlValue (self->mLR2Handle, GetLR10 (self->mData));
- SetControlValue (self->mLR3Handle, GetLR11 (self->mData));
- SetControlValue (self->mLR4Handle, GetLR12 (self->mData));
- SetControlValue (self->mCheckboxHandle, GetCheckbox5 (self->mData));
- SetControlValue (self->mCheckbox2Handle, GetCheckbox6 (self->mData));
- SetBevelButtonGraphicAlignment (self->mCheckbox2Handle, kControlBevelButtonAlignCenter, 0, 0);
- SetControlValue (self->mNextHandle, GetNext5 (self->mData));
- SetBevelButtonTextPlacement (self->mNextHandle, kControlBevelButtonPlaceToRightOfGraphic);
- SetBevelButtonTextAlignment (self->mNextHandle, kControlBevelButtonAlignTextFlushLeft, 0);
- SetBevelButtonGraphicAlignment (self->mNextHandle, kControlBevelButtonAlignLeft, 0, 0);
- SetControlValue (self->mNext2Handle, GetNext6 (self->mData));
- SetBevelButtonTextPlacement (self->mNext2Handle, kControlBevelButtonPlaceBelowGraphic);
- SetBevelButtonTextAlignment (self->mNext2Handle, kControlBevelButtonAlignTextCenter, 0);
- SetBevelButtonGraphicAlignment (self->mNext2Handle, kControlBevelButtonAlignTop, 0, 0);
- }
-
- //----------
- void ModelessCheckboxes_DoItem (
- ModelessCheckboxes* self,
- SInt16 inItemHit)
- {
- switch (inItemHit) {
- case kStandardCheck:
- SetStandard7 (self->mData, ToggleCheckbox (self->mStandardHandle));
- break;
- case kXxCheck:
- SetXx3 (self->mData, ToggleCheckbox (self->mXxHandle));
- break;
- case kLRCheck:
- SetLR9 (self->mData, ToggleCheckbox (self->mLRHandle));
- break;
- case kLR2Check:
- SetLR10 (self->mData, ToggleCheckbox (self->mLR2Handle));
- break;
- case kLR3Check:
- SetLR11 (self->mData, ToggleCheckbox (self->mLR3Handle));
- break;
- case kLR4Check:
- SetLR12 (self->mData, ToggleCheckbox (self->mLR4Handle));
- break;
- case kCheckboxCheck:
- SetCheckbox5 (self->mData, ToggleCheckbox (self->mCheckboxHandle));
- break;
- case kCheckbox2Check:
- SetCheckbox6 (self->mData, GetControlValue (self->mCheckbox2Handle));
- break;
- case kNextCheck:
- SetNext5 (self->mData, GetControlValue (self->mNextHandle));
- break;
- case kNext2Check:
- SetNext6 (self->mData, GetControlValue (self->mNext2Handle));
- break;
-
- } // switch
- }
-
- //----------
- void ModelessCheckboxes_DataChanged (
- ModelessCheckboxes* self,
- long inDataID)
- {
- if (inDataID == idStandard7) {
- SetControlValue (self->mStandardHandle, GetStandard7 (self->mData));
- }
- if (inDataID == idXx3) {
- SetControlValue (self->mXxHandle, GetXx3 (self->mData));
- }
- if (inDataID == idLR9) {
- SetControlValue (self->mLRHandle, GetLR9 (self->mData));
- }
- if (inDataID == idLR10) {
- SetControlValue (self->mLR2Handle, GetLR10 (self->mData));
- }
- if (inDataID == idLR11) {
- SetControlValue (self->mLR3Handle, GetLR11 (self->mData));
- }
- if (inDataID == idLR12) {
- SetControlValue (self->mLR4Handle, GetLR12 (self->mData));
- }
- if (inDataID == idCheckbox5) {
- SetControlValue (self->mCheckboxHandle, GetCheckbox5 (self->mData));
- }
- if (inDataID == idCheckbox6) {
- SetControlValue (self->mCheckbox2Handle, GetCheckbox6 (self->mData));
- }
- if (inDataID == idNext5) {
- SetControlValue (self->mNextHandle, GetNext5 (self->mData));
- }
- if (inDataID == idNext6) {
- SetControlValue (self->mNext2Handle, GetNext6 (self->mData));
- }
- }
-
- //----------
- Boolean ModelessCheckboxes_Filter (
- ModelessCheckboxes* self,
- EventRecord *ioEvent,
- DialogItemIndex *outItemHit)
- {
- return AMDialog_Filter ((AMDialog*)self, ioEvent, outItemHit);
- }
-